iT邦幫忙

2023 iThome 鐵人賽

DAY 13
1

今天將介紹vim與其各個模式與用途,明天會著重於講解vim的快捷鍵

介紹

Vim(Vi IMproved)是一種文本編輯器,它是Vi(Visual Editor)的增強版本。目標為提供一個功能強大、高度可配置且可擴展的文本編輯環境。

vi(m)的最大特色就是擁有大量快捷鍵,因此只要夠熟練vi(m),你的手甚至可以不用離開鍵盤主區域就能進行大部分工作,不過也因此vi(m)的學習曲線很陡峭

vim 可能沒有內建於你的linux系統中(Ubuntu 內建的vim是vim-tiny,這只支援vi指令),所以需要先用套件管理軟體安裝vim
以Ubuntu來說可以使用以下指令安裝vim

# apt install vim

提醒一下: vim的快捷鍵有分大小寫

普通模式(Normal Mode)

為vim的預設模式。要從其他模式進入這個模式只須按下Esc。在這模式下輸入按鍵時不會顯示出文字而是執行該按鍵(快捷鍵)的相關指令(e.g. /可以搜尋文字, Ctrl+r為重做等...)。

  • Ctrl+V: 進入Visual Block Mode(方塊選取)
  • :: 進入Command Mode

格式:n<cmd><operate>
<operate> = <cmd>
白話來說就是對於motion執行n次cmd

輸入模式(Insert Mode)

在普通模式中按下i/I,s/S,o/O,a/A進入
左下會顯示-- INSERT --,這個模式就跟我們一般在記事本或其他地方打字一樣
其中以不同按鍵進入輸入模式時也會有不同處理模式

  • i: 從游標前開始輸入
  • I: 將游標移到最前面開始輸入
  • s: 刪除目前游標所在的字元後開始輸入
  • S: 刪除從目前游標所在行的所有字元後在同一行開始輸入
  • o: 由下新增一空行以輸入
  • O: 由上新增一空行以輸入
  • a: 從游標後開始輸入
  • A: 將游標移到最後面開始輸入

命令模式(Command Mode)

左下會顯示冒號,在這邊可以輸入指令,如果要強制執行指令可以在後面加驚嘆號
常用的有:

  • :wq: 存檔,然後離開

    兩個縮寫只有一個字元的可以一起打
    等價於先:w:q

  • :e [<fliename>]: 開啟新檔案
  • :sp [<filename>]: 開啟一個新的vim視窗並分割至原視窗下方, 若後面沒有加檔名的話預設開啟目前檔案
  • :vsp [<filename>]: 類似於:sp,不過這個是左右分割
  • :![<command> [<arguments>]]: 運行終端指令

可視模式(Visual Mode)

在這模式中移動游標時會同時highlight並選取所有經過的文字
分為以下三種選取模式

  • 字元(預設):按下v進入
  • 行(Visual Line Mode): 按下V進入,預設直接選取整行,換句話說只能上下選取
  • 方塊(Visual Block Mode): 按下Ctrl+v進入,游標移動時增加/減少方塊大小1單位

上一篇
Day12: Json處理
下一篇
Day14: Vim的快捷鍵與指令
系列文
I Use Linux BTW: 談Linux與其指令30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言